// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package cn.com.smartdevices.bracelet.webapi;
import android.os.SystemClock;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ClientUtil
{
private static String a = "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$";
public ClientUtil()
{
}
public static String encodeStr(String s)
{
String s1;
try
{
s1 = URLEncoder.encode(s, "UTF-8");
}
catch (UnsupportedEncodingException unsupportedencodingexception)
{
unsupportedencodingexception.printStackTrace();
return null;
}
catch (Exception exception)
{
exception.printStackTrace();
return null;
}
return s1;
}
public static String encryptPassword(String s)
{
int i = 10 + (new Random(SystemClock.currentThreadTimeMillis())).nextInt(90);
return (new StringBuilder()).append(md5((new StringBuilder()).append(i).append(s).toString())).append(":").append(i).toString();
}
public static String generateBgsid(HashMap hashmap)
{
StringBuffer stringbuffer = new StringBuffer();
ArrayList arraylist = new ArrayList();
for (Iterator iterator = hashmap.entrySet().iterator(); iterator.hasNext(); arraylist.add(((java.util.Map.Entry)iterator.next()).getKey())) { }
Collections.sort(arraylist, String.CASE_INSENSITIVE_ORDER);
for (Iterator iterator1 = arraylist.iterator(); iterator1.hasNext(); stringbuffer.append((String)hashmap.get((String)iterator1.next()))) { }
stringbuffer.append("c18c24046606b2e084edd37f9fe9f94d");
return md5(stringbuffer.toString());
}
public static long generateCallId()
{
return (new Date()).getTime();
}
public static HashMap getParamMap(Map map)
{
HashMap hashmap = new HashMap();
hashmap.put(encodeStr("appid"), encodeStr("1uMqYWpHo3MoLH"));
hashmap.put(encodeStr("callid"), encodeStr((new StringBuilder()).append("").append(generateCallId()).toString()));
hashmap.put(encodeStr("v"), encodeStr("1.0"));
hashmap.put(encodeStr("lang"), encodeStr(Locale.getDefault().getLanguage()));
if (map != null)
{
hashmap.putAll(map);
}
hashmap.put("bd_sig", generateBgsid(hashmap));
return hashmap;
}
public static HashMap getSysParamMap(Map map)
{
HashMap hashmap = new HashMap();
HashMap hashmap1 = new HashMap();
hashmap.put(encodeStr("appid"), encodeStr("1uMqYWpHo3MoLH"));
hashmap.put(encodeStr("callid"), encodeStr((new StringBuilder()).append("").append(generateCallId()).toString()));
hashmap.put(encodeStr("v"), encodeStr("1.0"));
hashmap.put(encodeStr("lang"), encodeStr(Locale.getDefault().getLanguage()));
hashmap1.putAll(hashmap);
if (map != null)
{
hashmap1.putAll(map);
}
hashmap.put("bd_sig", generateBgsid(hashmap1));
return hashmap;
}
public static boolean isValidEmailAndPassword(String s, String s1)
{
while (s == null || s.length() < 1 || s1 == null || s1.length() < 6 || s1.length() > 25 || !Pattern.compile(a).matcher(s).matches())
{
return false;
}
return true;
}
public static String md5(String s)
{
byte abyte0[];
StringBuilder stringbuilder;
int i;
try
{
abyte0 = MessageDigest.getInstance("MD5").digest(s.getBytes("UTF-8"));
}
catch (NoSuchAlgorithmException nosuchalgorithmexception)
{
throw new RuntimeException("Huh, MD5 should be supported?", nosuchalgorithmexception);
}
catch (UnsupportedEncodingException unsupportedencodingexception)
{
throw new RuntimeException("Huh, UTF-8 should be supported?", unsupportedencodingexception);
}
stringbuilder = new StringBuilder(2 * abyte0.length);
i = abyte0.length;
for (int j = 0; j < i; j++)
{
byte byte0 = abyte0[j];
if ((byte0 & 0xff) < 16)
{
stringbuilder.append("0");
}
stringbuilder.append(Integer.toHexString(byte0 & 0xff));
}
return stringbuilder.toString();
}
}